#!/bin/bash

# Slackware build script for Coin

# Originally written by Aleksandar Samardzic <asamardzic@gmail.com>
# Versions >= 3.1.3 maintained by Niels Horn <niels.horn@gmail.com>
# Revision date: 2010/07/10

# 20220222 bkw: Modified by SlackBuilds.org, BUILD=2:
# - use correct github filename.
# - don't install useless INSTALL instructions in doc dir.
# - remove man pages with spaces in the filenames.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=Coin
SRCNAM=coin
VERSION=${VERSION:-4.0.0.f8a82c09bb5aa62702b9ed396067a25905571c82}
COMMIT=f8a82c09bb5aa62702b9ed396067a25905571c82
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
  ARCHQUADLET=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
  ARCHQUADLET=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
  ARCHQUADLET=""
elif [ "$ARCH" = "arm" ]; then
  SLKCFLAGS="-O2 -march=armv4t"
  LIBDIRSUFFIX=""
  ARCHQUADLET="-gnueabi"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
  ARCHQUADLET=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$COMMIT
tar xvf $CWD/$SRCNAM-$COMMIT.tar.gz
cd $SRCNAM-$COMMIT
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \+ -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \+

mkdir -p coin_build
cd coin_build
  cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -Hcoin -G "Unix Makefiles" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCOIN_BUILD_DOCUMENTATION=ON \
    -DCOIN_BUILD_DOCUMENTATION_MAN=ON \
    -DCMAKE_BUILD_TYPE=Release ..
  
  make
  make install/strip DESTDIR=$PKG
cd ..

mv $PKG/usr/share/man $PKG/usr/
mkdir -p $PKG/usr/man/man1
cp man/man1/coin-config.1 $PKG/usr/man/man1/

# 20220225 bkw: man pages can't have spaces in the filenames. plus, these
# are empty of real content.
rm -f $PKG/usr/man/man3/*\ *.3

gzip -9 $PKG/usr/man/man*/*

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
  AUTHORS COPYING ChangeLog FAQ* NEWS RE* THANKS \
  $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/usr/share/doc/Coin/html $PKG/usr/doc/$PRGNAM-$VERSION
rm -rf $PKG/usr/share/doc
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
